// typeof：使用的最多
function printID(id: number | string) {
  if(typeof id === "string") {
    console.log(id.length)
  }
}


// 平等缩小
  // 方向的类型判断
  type Direction = "left" | "right" | "up" | "down"
  function switchDirection(direction: Direction) {
    if(direction === "right") {
      console.log(direction)  // 一定是left
      console.log("左： 向左移动")  // 一定是left
    }
  }

// instanceof传入一个日期，打印日期
function printDate(date: string | Date) {
  // if(typeof date === "string") {
  //   console.log(date)
  // } else {
  //   console.log(date.getDate())
  // }
  if(date instanceof Date) {
    console.log(date.getTime())
  }
}

// 判断是否有某一个属性
interface ISwim {
  swim: () => void
}

interface IRun {
  run: () => void
}

const fish: ISwim = {
  swim: function() {}
}